package com.example.aop.aspect;

import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

/**
 * @author: qilongxin
 * @date: 2021/8/13 14:40
 */
//@Aspect
//@Component
//@Slf4j
public class LogAspect {
//
//    /**
//     * 使用@annotation匹配logPointCut切点和@log注释的方法
//     */
//    @Pointcut("@annotation(com.example.aop.annotation.Log)")
//    public void logPointCut() {}
//
//    public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
//        long beginTime = System.currentTimeMillis();
//        // 执行方法
//        Object result = joinPoint.proceed();
//        // 执行时长
//        long time = System.currentTimeMillis() - beginTime;
          // 异步保存日志 这里可以保存日志到文本

//        return result;
//    }
//
//    void saveLog(ProceedingJoinPoint joinPoint, long time) throws InterruptedException {}

}
